/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package se.kth.lwr.jeat.samples.onsitetreatment.producers;

import javax.measure.unit.SI;
import javax.measure.unit.Unit;
import org.jscience.physics.amount.Amount;
import se.kth.lwr.jeat.core.Inventoriable;
import se.kth.lwr.jeat.core.Inventory;
import se.kth.lwr.jeat.core.InventoryDataSource;
import se.kth.lwr.jeat.samples.onsitetreatment.SimpleProduction;
import se.kth.lwr.jeat.utils.ProductionSupport;

import se.kth.lwr.jeat.core.EnergyCategory;

/**
 *
 * @author davidev
 */
public class ReinforcementProducer extends SimpleProduction {
    
    private ReinforcementProducer(ProductionSupport support) {
        super(support);
    }
    
    public static ReinforcementProducer getInstance() {
        ProductionSupport support = new ProductionSupport("concrete reinforcement", reinforcementEmissions, SI.KILOGRAM);
        return new ReinforcementProducer(support);    
    }
//Data sources
    /**
     *
     * Emissions during production of concrete reinforcement (Tillman m.fl.
     * 1996)
     *
     */
    public static final InventoryDataSource reinforcementEmissions = new InventoryDataSource("ReinforcementProducerEmissions",
            "Emissions during production of concrete reinforcement (Tillman m.fl. 1996)",
            new Inventoriable() {
                
                @Override
                public Inventory getInventory() {
                    Inventory retval = Inventory.emptyInventory();
                    retval.addEnergyUse(EnergyCategory.FOSSIL, Amount.valueOf(21.34, Unit.valueOf("MJ/kg")));
                    return retval;
                }
            });
}
